/**
 * 1).在Frock类中声明私有的静态属性currentNum，初始值为100000，作为衣服出厂的序列号起始值。
 * 声明公有的静态方法getNextNum，作为生成上衣唯一序列号的方法。每调用一次，将currentNum增加100，
 * 并作为返回值。在TestFrock类的main方法中，分两次调用getNextNum方法，获取序列号并打印输出。
 * 2).在Frock类中声明serialNumber属性，并提供对应的get方法；
 * 在Frock类的构造器中，通过调用getNextNum方法为Frock对象获取唯一序列号；
 * 在TestFrock类的main方法中，分别创建三个Frock 对象，并打印三个对象的序列号，验证是否为按100递增。
 * 3).在Frock类中声明静态语句块，语句块中将currentNum的初始值设为150000，作为衣服出厂的序列号起始值
 * 并打印输出该值。执行TestFrock类的main方法，分别创建三个Frock对象，验证静态语句块是否只执行一次，
 * 以及序列号起始值是否已调整。
 * 4).在Frock类中声明公有静态常量INCREMENT，值为100，修改静态方法getNextNum代码
 * 用INCREMENT常量代替原有的增量值100。执行TestFrock类的main方法，验证修改是否正确。
 *
 运行结果：
 衣服出厂的序列号起始值为:150000
 150000
 150100
 150200
 */
public class Frock {
    private static int currentNum;
    public static final int INCREMENT = 100;
    private int serialNumber;
    public static int getNextNum(){
        int temp = currentNum;
        currentNum += INCREMENT;
        return temp;
    }
    static {
        currentNum = 150000;
        System.out.println("衣服出出厂的序列号起始值为：" + currentNum);
    }
    public Frock(){
        super();
        this.serialNumber = getNextNum();
    }

    public int getSerialNumber(){
        return serialNumber;
    }
}
